!% -SD !========================== Constant Story "Heavenly Rest Switcheroo"; Constant Headline "^A game for Interactive Fiction Writing Month ^(http://www.instamatique.com/if/) ^by Kevin Jackson-Mead.^"; Include "Parser"; Include "VerbLib"; Attribute legible; !========================== ! The game objects Object foyer "Foyer" with description "You stand in the foyer of an elegant house, with two chairs flanking a table upon which sits a vase of flowers. Colored light streams through a stained-glass window in the front door of the house to the west. A carpeted staircase leads to the second floor, but it is blocked by a chain with a sign hanging from it. A hallway heads to the east, and archways open to the north and south.", w_to outside, u_to "The chain blocking the staircase is probably there for a good reason. You probably shouldn't go up there.", n_to sitting_room, e_to "There's unlikely to be anything interesting in the hallway.", s_to funeral_parlor, has light; Object chain_sign "sign" foyer with description "A neatly stenciled sign hangs from the chain and reads: EMPLOYEES ONLY.", name 'sign' 'chain', has scenery; Object outside "In front of a large house" with description "You are standing outside a well-maintained two-story Victorian house. There is a sign on a post in the front lawn. The front door is to the east.", e_to foyer, has light; Object lawn_sign "sign" outside with description "A sturdy wooden sign on a wooden post, both painted white. The large capital letters on the sign are done in metallic gold paint thinly outlined in black.", name 'sign' 'post' 'signpost', before [; Read: "HEAVENLY REST FUNERAL HOME"; ], has legible scenery; Object sitting_room "Sitting room" with description "This would be a lovely sitting room except for the fact that there's nothing to sit on. A fireplace sits at the east end of the room. An archway leads south to the foyer.", s_to foyer, has light; Object card "calling card" with description "This antique calling card is double-sided. One side reads: Fred likes steel. The other side reads: Ginger likes pine.", name 'card' 'calling'; Object fireplace "fireplace" sitting_room with description "The inside of the fireplace is covered in a thick layer of soot. It looks like it hasn't been used in quite some time.", name 'fireplace' 'fire' 'place', before [; Search: move card to sitting_room; "You poke around the fireplace, and you find a small card buried under the soot."; ], has scenery; Object funeral_parlor "Funeral parlor" with description "Several rows of chairs, split by a center aisle, face two caskets at the south end of the room. A podium sits to the east of the caskets. There are vases of flowers on small tables along the east and west sides of the room. From somewhere, peaceful organ music is quietly playing. An archway leads north to the foyer.", n_to foyer, each_turn [; if (fred_corpse in right_casket && ginger_corpse in left_casket) deadflag = 2; ] has light; Object caskets "caskets" funeral_parlor with description "Two beautiful caskets sit on stands at the end of the room. The casket on the left is made of lacquered wood with gold hardware. The casket on the right is made of a blue metal with silver hardware.", name 'caskets', has scenery; Object left_casket "wooden casket" funeral_parlor with description "This casket is made of lacquered pine and has gold handles and trim. It is beautifully hand-carved, with intricate scrollwork all along the sides.", name 'casket' 'wooden' 'wood' 'left' 'pine', has scenery container openable; Object fred_corpse "male corpse" left_casket with description "This corpse looks almost alive, like he has simply closed his eyes. He is a healthy-looking old man with a full head of white hair. He is wearing a nice dark blue suit with a white shirt. He is wearing a red tie with a matching red handkerchief coming out of the breast pocket of his suit jacket.", name 'fred' 'corpse' 'male' 'man'; Object right_casket "metal casket" funeral_parlor with description "This casket is made of blue steel and has silver handles and trim. It is beautifully etched with patterns resembling Celtic knots.", name 'casket' 'metal' 'steel' 'right' 'blue', has scenery container openable; Object ginger_corpse "female corpse" right_casket with description "This corpse is in an advanced state of decay. She has long wispy gray hair, and her skin is dry, taut, and almost the same color as her hair. You can hardly make out any facial features. She is wearing a simple gray dress that might have once been black. A string of pearls hangs around her neck.", name 'ginger' 'female' 'corpse' 'woman'; !========================== ! Entry point routines [ Initialise; location = outside; ]; !========================== ! Standard and extended grammar Include "Grammar"; [ ReadSub; <>; ]; Extend 'read' first * legible -> Read; !==========================